ValidatedChoice
A validated set of choices of any type
Similar to a ValidatedEnum, but constructed from a pre-defined list of choices
Author
fzzyhmstrs
Since
0.3.6
Parameters
the choice type
the default choice
List
EntryHandler to provide validation tasks for individual choice elements
WidgetType defines the GUI selection type. Defaults to POPUP
See also
Samples
import me.fzzyhmstrs.fzzy_config.util.AllowableIdentifiers
import me.fzzyhmstrs.fzzy_config.util.EnumTranslatable
import me.fzzyhmstrs.fzzy_config.util.FcText.lit
import me.fzzyhmstrs.fzzy_config.util.ValidationResult
import me.fzzyhmstrs.fzzy_config.validation.collection.ValidatedList
import me.fzzyhmstrs.fzzy_config.validation.minecraft.ValidatedIdentifier
import me.fzzyhmstrs.fzzy_config.validation.minecraft.ValidatedRegistryType
import me.fzzyhmstrs.fzzy_config.validation.minecraft.ValidatedTagKey
import me.fzzyhmstrs.fzzy_config.validation.misc.*
import me.fzzyhmstrs.fzzy_config.validation.misc.ValidatedColor.Companion.validatedColor
import me.fzzyhmstrs.fzzy_config.validation.number.ValidatedInt
import net.minecraft.item.Items
import net.minecraft.item.SwordItem
import net.minecraft.registry.Registries
import net.minecraft.registry.tag.ItemTags
import net.minecraft.util.Identifier
import java.awt.Color
import java.util.function.Function
fun main() {
//sampleStart
//fully defined validated choice, defining a set of valid ints (which happen to be the enchantment weights from the old Enchantment.Rarity enum.
val validatedChoice = ValidatedChoice(1, listOf(1, 2, 5, 10), ValidatedInt(1, 10, 1), ValidatedChoice.WidgetType.CYCLING)
//validated choice that uses "default" as its default choice automatically, and is defaulting to using the popup widget
val validatedChoiceDefault = ValidatedChoice(listOf("default", "rare", "abundant"), ValidatedString())
//validated choices built from a validated list instance.
val validatedChoiceList = ValidatedList.ofString("default", "rare", "abundant").toChoices()
//fields and sections have lang keys based on their "location" in the Config class graph.
//Lange key composition is as follows
//1. the namespace of the config id: (my_mod)
//2. the path of the config id: (my_mod.my_config)
//3. any parent ConfigSection field names as declared in-code: (my_mod.my_config.subSection)
//4. the setting field name as declared in-code: (my_mod.my_config.subSection.fieldName)
val fieldLang = """
{
"_comment1": "the lang for an example 'fieldName' setting in a config inside section 'subSection'",
"my_mod.my_config.subSection.fieldName": "Very Important Setting",
"my_mod.my_config.subSection.fieldName.desc": "This very important setting is used in this very important way."
}
"""
//sampleEnd
}
A validated set of choices of any typem using the first choice as the default
Similar to a ValidatedEnum, but constructed from a pre-defined list of choices
Author
fzzyhmstrs
Since
0.2.0, added providers 0.3.6
Parameters
the choice type
List
EntryHandler to provide validation tasks for individual choice elements
WidgetType defines the GUI selection type. Defaults to POPUP
A validated set of choices of any type using the first choice as the default
Similar to a ValidatedEnum, but constructed from a pre-defined list of choices
Author
fzzyhmstrs
Since
0.3.6
Parameters
the choice type
List
EntryHandler to provide validation tasks for individual choice elements
WidgetType defines the GUI selection type. Defaults to POPUP
A validated set of choices of any type using the first choice as the default
Similar to a ValidatedEnum, but constructed from a pre-defined list of choices
Author
fzzyhmstrs
Since
0.3.6
Parameters
the choice type
EntryHandler to provide validation tasks for individual choice elements
vararg T defining the appropriate choices; the first provided choice will be the default
Parameters
the choice type
the default choice
List
EntryHandler to provide validation tasks for individual choice elements
WidgetType defines the GUI selection type. Defaults to POPUP